#include "mainsence.h"
#include "ui_mainsence.h"
#include<QPainter>
#include"mypushbutton.h"
#include<QDebug>
#include<QTimer>
#include<QSound>
MainSence::MainSence(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainSence)
{
    ui->setupUi(this);
    //配置主场景

    //设置固定窗口大小
    setFixedSize(430,655);

    //设置窗口名字
    setWindowTitle("翻金币主场景");

    //设置窗口图片
    setWindowIcon(QIcon(":/res/Coin0001.png"));

    //设置退出按钮
    connect(ui->actionQuit,&QAction::triggered,[=](){
        this->close();
    });
    //设置开始音效
    QSound *startM=new QSound(":/res/TapButtonSound.wav",this);

    //开始按钮
    MyPushButton *startBtn=new MyPushButton(":/res/MenuSceneStartButton.png");
    startBtn->setParent(this);
    startBtn->move(this->width()*0.5-startBtn->width()*0.5,this->height()*0.7);
    //实例化选择关卡的场景
    chooseSence=new chooseLeveSence;
    //监听选择关卡的返回按钮的信号
    connect(chooseSence,&chooseLeveSence::chooseSenceBack,[=](){
        this->setGeometry(chooseSence->geometry());
        chooseSence->hide();
        this->show();
    });
    //设置定时器
     QTimer *timer=new QTimer(this);
     connect(timer,&QTimer::timeout,[=](){

        //设置chooseSence的场景位置
        chooseSence->setGeometry(this->geometry());
        this->hide();
        chooseSence->show();
        timer->stop();
     });
    connect(startBtn,&QPushButton::clicked,[=](){
//        qDebug()<<"按钮按下";
        //执行开始音效
        startM->play();
        startBtn->zoom1();
        startBtn->zoom2();
        //延时进入到关卡场景   不延时直接调用this->hide()会看不到按钮弹跳效果


///////教程中定时器用的下面的方法，由于版本较低， 本版本5.31中QTimer::singleShot（）重载函数只有2个，而教程中5.5版本重载函数为8个，此处无法使用该函数，故自建一个定时器//////////////////

//       QTimer::singleShot(500,this,[=](){
//             this->hide();
//             chooseSence->show();
//       });
        timer->start(500);


    });



}
//绘图事件
 void MainSence::paintEvent(QPaintEvent *)
 {
     QPainter painter(this);
     QPixmap  pix;
     pix.load(":/res/PlayLevelSceneBg.png");
     painter.drawPixmap(0,0,this->width(),this->height(),pix);//this->width(),this->height()消除图片拉伸

     //画背景图标
     pix.load(":/res/Title.png");
     pix=pix.scaled(pix.width()*0.5,pix.height()*0.5);//设置pix图像大小
     painter.drawPixmap(10,30,pix);


 }

MainSence::~MainSence()
{
    delete ui;
}
